Minutes, IBIS Quality Task Group

2 March 2021

11:00-12:00 EST (08:00-09:00 PST)

ROLL CALL

Intel Technology                    Michael Mirmak
Micron Technology                 * Randy Wolff
Signal Integrity Software:        * Mike LaBonte
Teraspeed Labs:                   * Bob Ross
Zuken USA:                        * Lance Wang

Everyone in attendance marked by *

NOTE: "AR" = Action Required.

-----------------------MINUTES ---------------------------
Mike LaBonte conducted the meeting.

Call for IBIS related patent disclosures:

- None


Call for opens:

- None


Review of previous meeting minutes:
Minutes from the February 23, 2021 meeting were reviewed. Randy Wolff moved to accept
the minutes.  Bob Ross seconded.  Without object the minutes were accepted.


ARs:
- Bob Ross to write IBISCHK bug for Touchstone checking
  - No progress
- Mike LaBonte to change tschk201 precision handling as discussed
  - Done
- Mike LaBonte to update version number in tschk201 source documentation to 2.0.1
  - Done
- Mike LaBonte to fix tschk2 BUG1 and BUG2
  - Done


NEW ITEMS:

New parser bug reports:
None.


TSCHK 2.0.1 development:
Mike LaBonte demonstrated changes he had made to tschk2. The changes were:

TSCHK BUG3: Canonical Mode Adds Spaces, Significantly Increases File Size
Mike showed an email that had been sent to the group, with output from the new software
for a case with frequencies in decades: 5, 50, 500, etc.  The calculated precision for
the frequency values was 1 digit, and data values were set to 6 digits.  The column
width was 7 because we always added 6 characters for potential sign and exponent.
The frequency values were shown in fixed notation up to 50000, but 5 million was printed
in scientific notation.  Mike had expected that one to be fixed, and 50 million to be
the first one in scientific.

Mike showed an output in which all data value had either a + or - sign.  He felt the
readability was greatly improved because the alignment was very consistent.  We agreed
to keep that format.

Bob Ross asked if numbers would be rounded when precision was set less than the input.
Mike changed the first frequency in a test file to 5.123456789 and that printed 5.12346,
as though the precision was 6.  Mike said it had rounded "...56789" to 6.  Randy Wolff
said it should be possible to control rounding.  He also noted that scientific notation
might make it more compact.  Mike showed the reference page for C++ IO manipulators
and said that while there were functions for specifically rounding up and down,
C++ iostream did not have that.  He said he could write his own function to achieve
any formatting goals.  Bob liked the idea of writing a special formatting algorithm.
Mike asked if the goal for frequencies was to stay in fixed notation where possible, and
only use scientific when necessary to fit the available width.  Bob agreed with that.
Mike ran the same test file in tschk2.0.0. It used fixed for all frequency values,
which it could do because the column width was 20 characters.  Mike felt that was an
indication that output controls for the data numbers were leaking into the frequency
numbers. He would fix that.

TSCHK BUG1: Vague Option Error Message
Mike demonstrated that BUG1 was fixed. The error message was as proposed in the bug report.

TSCHK BUG2: Crash With Illegal Mixed-Mode Data Combinations
Bob said BUG2 was a Windows crash bug, but it did not always crash for him on Windows.
Mike said it did not crash on Linux, and running with valgrind showed a number of
unallocated memory errors.  The root cause of the bug was that the testcase was using
ports 3 and 4 in [Mixed Mode Order], but there were only 2 ports.  Mike said there
was no check for that, but he had added one. The memory issues were then eliminated.
Mike showed documentation for the new error message, which had automatically been
assigned code E2322.  Randy noted a typo, a "[" was missing.  We agreed on the new
message.

Revisiting BUG3:
Randy suggested trying the original BUG3 testcase.  The point of the bug was to not
greatly expand the file size using -canonical conversion. Mike checked the size of
testcase input and output files.

- The testcase input file size was 822 bytes.
- TSCHK 2.0.0 produced a 3210 byte output.
- TSCHK 2.0.1_alpha4 produced a 1850 byte output.

Randy felt that was not much improvement.  Mike noted that the size gain was mostly due
to whitespace.  The default output used space padding to produce 20 character columns.
The new -precision option had been added to reduce the column size, but there was
still significant whitespace.  Mike proposed adding a new option to choose between
aligned columns or minimum size for -canonical outputs.  He produce an output for
the BUG3 testcase with only one space between values, and the size was 1009 bytes.
Randy said some header information might have been added.  Mike said he could implement
the minimum size option for review.


AR Mike LaBonte to fix typo in TSCHK2 documentation
AR Mike LaBonte to fix erratic number formatting in TSCHK2 output
AR Mike LaBonte to add output size option to TSCHK2 alpha5

IBISCHK development:
Randy suggested making IBISCHK development a higher discussion priority than TSCHK development.
Mike said he would put that first on the next agenda.


IBISCHK 7.1.0 contract:
Bob Ross reported no update on the contract draft.


IBISCHK7 source code feedback:
We agreed to drop this agenda item. All expected feedback had been received.


IBISCHK security fixes:
No discussion.


Interconnect model file checking
No discussion.


Tabled topics (no discussion without motion):
  - BIRD181.2


Randy Wolff moved to adjourn. Bob Ross seconded. Without objection the meeting ended.

Meeting ended: 12:03 ET

Next meeting March 9, 2021
